Telegram Group Search
🎦 AI-инструменты, которые я применяю ежедневно

Юлия, мидл Python-разработчик, рассказывает о том, как использует AI-технологии для автоматизации программирования.

Какие AI-инструменты облегчают вашу работу с Python? Делитесь в комментариях 👇

Библиотека питониста #буст
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
😤 «AI-агенты — это всё игрушки, зачем на это курс покупать, когда всё есть в интернете?!»

Ага, конечно. Вот только на YouTube никто не:

• Разберет твои вопросы вживую
• Не покажет, как применять AI-агентов на практике
• Не поможет встроить это в реальную работу DS-специалиста

Уже 23 июня в 19:00 по МСК ты можешь сам всё узнать на бесплатном вебинаре с экспертом Никитой Зелинским.

👉 Что будет на вебинаре:

— Разбор структуры курса
— Ответы на частые вопросы студентов
Примеры из реальных проектов с AI-агентами
— И, конечно, как это всё можно использовать в работе прямо сейчас

А если уже всё понял и хочешь идти учиться — лови промокод lucky на 5.000₽

🔗 Ссылка на курс

P.s. Ждем тебя!
💫 Как стать профессиональным разработчиком: 6 главных навыков

Думаешь, чтобы стать крутым программистом, нужен диплом престижного вуза? А вот и нет!

➡️ Опытные разработчики уверены: гораздо важнее правильный подход к работе и готовность учиться на своих ошибках.

И знаешь что? Этому может научиться каждый.

Читайте полную статью и узнайте, какие качества помогут вам стать настоящим профи!
▶️ Читать статью

Библиотека питониста #буст
Please open Telegram to view this post
VIEW IN TELEGRAM
📌 Холивар: одна строка — одно действие

В сообществе Python-программистов давно спорят: как лучше оформлять код — разбивать каждое действие на отдельную строку или использовать методные цепочки?

➡️ Подход «одна строка — одно действие»:
Улучшает читаемость
Упрощает отладку
Позволяет легко комментировать каждое действие
Делает git diff и blame более наглядными

Пример:
df = df.dropna()
df = df[df["age"] > 18]
df = df.sort_values("score", ascending=False)
df = df.reset_index(drop=True)


➡️ Подход с цепочками методов:
Более выразителен, особенно при работе с данными
Помогает избежать временных переменных
Позволяет видеть весь «путь трансформации» объекта в одном месте
Хорошо работает с API вроде pandas, SQLAlchemy, Fluent-style интерфейсами

Пример:
df = (
df.dropna()
[df["age"] > 18]
.sort_values("score", ascending=False)
.reset_index(drop=True)
)


⚠️ Но где проходит граница между выразительностью и нечитаемым монолитом?

💬 А вы что предпочитаете в повседневной практике — лаконичные цепочки или строго пошаговый стиль?
Приводите примеры, делитесь опытом — обсудим!

Библиотека питониста #междусобойчик
Please open Telegram to view this post
VIEW IN TELEGRAM
😱 Уже завтра — вебинар про AI-агентов! Мест почти не осталось

На вебинаре вы получите то, чего нет в открытых источниках — живой разбор, примеры и прямой диалог с экспертом. Но только если придёте.

➡️ Что будет:
— покажем структуру курса и ключевые модули
— обсудим вопросы, которые обычно остаются за кадром
— разберём реальные кейсы: как применять AI-агентов — от чат-ботов до систем поддержки решений

📅 Уже 23 июня в 19:00 МСК
🎙️ Ведёт Никита Зелинский — эксперт в AI и DS

👉 Зарегистрируйтесь заранее, чтобы не забыть:
https://clc.to/_lDV0Q

🫢 Для тех, кто дочитал до конца → промокод lucky, он даст −5.000₽ на курс
🔎 Обновления Python-библиотек за последнюю неделю

За последние 7 дней в экосистеме Python вышло множество заметных обновлений. Вот самые интересные из них — с краткими пояснениями, зачем они могут быть вам полезны:

🚩 webdataset 1.0.2 — библиотека для работы с большими датасетами, особенно удобна для глубокого обучения. Позволяет стримить данные прямо с диска или из облака.

🚩 Kaleido 1.0.0 — инструмент для генерации статических изображений из интерактивных графиков Plotly. Удобен для сохранения визуализаций.

🚩 Outlines 1.0.0 — новая библиотека для структурированной генерации текста с LLM (language model). Упрощает работу с шаблонами, форматами и API OpenAI.

🚩 Valkey GLIDE 2.0.0 — форк Redis (Valkey) с улучшенной интеграцией и функциональностью. Используется для высокопроизводительного кеширования и обмена сообщениями.

🚩 Streamlit 1.46.0 — любимый многими фреймворк для создания дашбордов и ML-интерфейсов в несколько строк кода. Теперь ещё стабильнее и быстрее.

🚩 oauthlib 0.3.0 — обновление популярной библиотеки для OAuth2-авторизации. Безопасная аутентификация через сторонние сервисы (Google, GitHub и др.).

🚩 labelbox 7.0.0 — SDK для работы с платформой Labelbox (аннотация данных). Ускоряет цикл разметки данных в ML-проектах.

🚩 django-redis 6.0.0 — интеграция Redis с Django. Улучшенная производительность кеша, поддержка Valkey и новых бэкендов.

🚩 ruff 0.12.0 — супербыстрый линтер для Python. Заменяет pylint, flake8 и black одновременно — и делает это мгновенно.

🚩 opensearch-py 3.0.0 — клиент для OpenSearch (форка Elasticsearch от Amazon). Используется в проектах, где важен быстрый и масштабируемый поиск.

🚩 bayesian-optimization 3.0.0 — мощный инструмент для автоматического подбора гиперпараметров моделей или любых дорогостоящих функций.

🚩 tcod 19.0.0 — библиотека для создания рогаликов и консольных игр на Python. Старая, но всё ещё живая!

🚩 pyzmq 27.0.0 — обновление интерфейса к ZeroMQ — библиотеке для обмена сообщениями между процессами и приложениями.

Библиотека питониста #свежак
Please open Telegram to view this post
VIEW IN TELEGRAM
Что выведет код сверху?

👾 — Ошибок нет
👍 — Деление на ноль!
🥰 — ZeroDivisionError
⚡️ — Ничего

Библиотека задач по Python
🖥 Топ-вакансий для питонистов за неделю

Python разработчик —‍ от 100 000 ₽, удалёнка

Python-разработчик —‍ от 195 000 до 250 000 ₽, удалёнка

Django Backend Developer —‍ от 250 000 до 330 000 ₽, гибрид (Санкт-Петербург)

Программист-разработчик Python —‍ от 200 000 ₽, офис (Москва)

Team Lead Python (E-commerce), офис (Москва)


➡️ Еще больше топовых вакансий — в нашем канале Python jobs

Библиотека питониста
Please open Telegram to view this post
VIEW IN TELEGRAM
📱 Python теперь может вызывать Mojo-код

Что такое Mojo

Mojo — компилируемый язык с синтаксисом Python и скоростью C. Создан для ML, численных вычислений и высокопроизводительного кода.

Теперь Python умеет напрямую вызывать Mojo-функции — и это меняет игру.

Как это работает

1. Установка:
uv pip install modular --index-url https://dl.modular.com/public/nightly/python/simple/


2. Mojo-функция:
fn factorial(py_obj: PythonObject) raises -> PythonObject:
var n = Int(py_obj)
var result = 1
for i in range(1, n + 1):
result *= i
return result


3. Вызов из Python:
import mojo_module
print(mojo_module.factorial(10))


Производительность

На factorial(10) разница небольшая.
Но при подсчёте простых чисел до 20 000:
— Python: \~0.45 сек
— NumPy: \~0.26 сек
— Mojo: \~0.01 сек (!)

Mojo оказался в десятки раз быстрее, даже с простой реализацией.

Недочёты

При больших числах (factorial(100)) возможны переполнения — тип Int ограничен. Также Mojo всё ещё в стадии активной разработки.

Вывод

➡️ Mojo уже ускоряет Python-код и отлично подходит для тяжёлых вычислений.
➡️ Он проще, чем Rust, и быстрее, чем Python — особенно на численных задачах.
➡️ Пока это не продакшн-решение, но потенциал огромный.

🔗 Больше деталей по ссылке: https://clc.to/4WM6Hw

Библиотека питониста #буст
Please open Telegram to view this post
VIEW IN TELEGRAM
📝 Немного инсайтов из третьего модуля курса

Сейчас большинство представлений об ИИ ограничиваются одним агентом — моделькой, которая что-то предсказывает, генерирует или классифицирует.

Но реальный прорыв начинается, когда этих агентов становится несколько.
Когда они начинают взаимодействовать друг с другом.
Когда появляется координация, распределение ролей, память, планирование — всё это и есть мультиагентные системы (MAS).

➡️ Пока кто-то думает, что это звучит как научная фантастика, индустрия уже переходит к новым уровням сложности:
— Microsoft делает язык DroidSpeak для общения между LLM
— Open Source-фреймворки вроде LangChain, AutoGen, CrewAI, LangGraph — бурно развиваются
— компании, включая МТС, уже применяют MAS в боевых задачах

🎓 На курсе мы подходим к этому практично:
🔵 разбираем, как устроены MAS
🔵 пишем агентов с нуля
🔵 учимся выстраивать взаимодействие: конкуренцию, кооперацию, планирование

Именно на третьем уроке вы впервые собираете не просто «умного бота», а живую систему из агентов, которая работает вместе — как команда.

Причём по-настоящему: врач, SQL-аналитик, travel-планировщик, Python-генератор, поисковик.

🙂 Если хочется не просто использовать ИИ, а проектировать системы, которые думают, планируют и сотрудничают тогда забирайте курс по ИИ-агентам
Please open Telegram to view this post
VIEW IN TELEGRAM
🪲 Промт дня: отлаживаем сложный Python-код и находим баг

Ваш код падает или даёт странный результат?

Сложный пайплайн, цепочка функций, куча вложенностей — непонятно, где именно всё ломается?

Попросите ChatGPT:
Вот мой Python-код. Помоги понять:
– Где может быть логическая ошибка или утечка
– Как упростить дебаг: добавить логгеры, трассировку, breakpoints
– Как использовать pdb, breakpoint(), icecream или rich
– Как логировать шаги пайплайна так, чтобы не утонуть в логе
– Как изолировать и проверить проблемный блок
– Какие edge-кейсы я, возможно, упустил
– Как ловить исключения правильно и писать meaningful ошибки


Отлично работает при отладке ETL, API-обработчиков, ML-инференса, CLI-скриптов.

Библиотека питониста #буст
Please open Telegram to view this post
VIEW IN TELEGRAM
🤖 Нейросети для дата-сайентиста: свежий гид по инструментам

Мир нейросетей меняется каждый день — выбрать подходящий инструмент для задач Data Science непросто.

Мы собрали в статье то, что действительно работает: какие модели помогают автоматизировать рутину, ускоряют кодинг и дают ощутимый буст продуктивности.

📊 Что выбрать под вашу задачу — читайте в обзоре!

📌 Подробнее: https://proglib.io/sh/yq0MaQtHrn

Библиотека дата-сайентиста #буст
👓 Отслеживаем, какие ключи словаря в Python вы не использовали

Иногда полезно знать, какие поля данных вы вообще не задействовали — например, чтобы убедиться, что все данные из базы реально применяются в отчёте или покрыты тестами.

Представьте, что у вас SQL-запрос вида:
SELECT fieldX, fieldY, fieldZ FROM ...


Но в итоговом CSV-экспорте вы используете только fieldX и fieldY. Как понять, что fieldZ остался неиспользованным?

Класс TrackingDict

class TrackingDict(dict):
def __init__(self, *args, **kwargs):
super().__init__(*args, **kwargs)
self._accessed_keys = set()

def __getitem__(self, key):
self._accessed_keys.add(key)
return super().__getitem__(key)

@property
def accessed_keys(self):
return self._accessed_keys

@property
def never_accessed_keys(self):
return set(self.keys()) - self._accessed_keys


Пример использования:
user = {
"name": "John Doe",
"age": 30,
"email": "[email protected]",
}
user = TrackingDict(user)

assert user["name"] == "John Doe"

print("Использованные ключи:", user.accessed_keys)
print("Неиспользованные ключи:", user.never_accessed_keys)


Выведет:
Использованные ключи: {'name'}
Неиспользованные ключи: {'email', 'age'}


Зачем это нужно

— Убедиться, что все важные данные действительно используются в отчётах.
— Проверить покрытие тестами — например, в pytest:

assert not user.never_accessed_keys, f"Вы не проверили {user.never_accessed_keys}"


Типизированная версия:
from typing import TypeVar, Any

K = TypeVar('K')
V = TypeVar('V')

class TrackingDict(dict[K, V]):
"""
Словарь с отслеживанием использованных ключей.
"""

def __init__(self, *args: Any, **kwargs: Any) -> None:
super().__init__(*args, **kwargs)
self._accessed_keys: set[K] = set()

def __getitem__(self, key: K) -> V:
self._accessed_keys.add(key)
return super().__getitem__(key)

@property
def accessed_keys(self) -> set[K]:
return self._accessed_keys

@property
def never_accessed_keys(self) -> set[K]:
return set(self.keys()) - self._accessed_keys


Библиотека питониста #буст
Please open Telegram to view this post
VIEW IN TELEGRAM
2025/06/26 19:35:19
Back to Top
HTML Embed Code: